package es.tid.jala.android.ejemplos;

import java.net.URL;
import java.util.List;

import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;

import org.xml.sax.InputSource;
import org.xml.sax.XMLReader;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;

public class ParseadorXML extends Activity {
	private static final String DEBUG_TAG = "ParseadorXML"; 
	
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		// setContentView(R.layout.main);

		TextView tv = new TextView(this);
		try {
			URL url = new URL("http://jair.lab.fi.uva.es/~joselop/clasif.xml");

			// Se obtiene un parser SAX de SAXPArserFactory
			SAXParserFactory spf = SAXParserFactory.newInstance();
			SAXParser sp = spf.newSAXParser();

			// Se obtiene el XMLReader del parseador SAX
			XMLReader xr = sp.getXMLReader();
			
			// Se crea un ContentHandler (una clase encargada de gestionar el contenido del XML)
			// y se pasa al lector XML
			DatosF1Handler datosF1ContentHandler = new DatosF1Handler();
			xr.setContentHandler(datosF1ContentHandler);
			xr.parse(new InputSource(url.openStream()));

			// Se obtienen los datos del ContentHandler
			List<Piloto> clasificacion = datosF1ContentHandler.getClasficicacion();

			//tv.setText(clasificacion.toString());
			StringBuilder aux =  new StringBuilder();
			for (Piloto p : clasificacion) {
				aux.append(p.toString());
			}
			tv.setText(aux.toString());

		} catch (Exception e) {
			tv.setText("Error: " + e.getMessage());
			Log.e(DEBUG_TAG, "ERROR", e);
		}

		this.setContentView(tv);
	}
}